package bag;
//砝码承重问题
import java.util.Scanner;

public class Main1{
    static int M = 200000;
    static int N = 101;
    static int[] a = new int[N];
    static int[][] s = new int[N][M];
    static int n;
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        n = input.nextInt();
        int sum = 0;//统计砝码总数
        int ans = 0;//统计所能称取的砝码数量
        for (int i = 0; i < n; i++) {
            a[i] = input.nextInt();
            sum += a[i];
        }
        s[0][a[0]] = 1;//先进来的肯定可以称取自己的砝码重量
        for (int i = 1; i < n; i++) {//一共有多少个砝码
            s[i][a[i]] = 1;//可以称取自己的砝码重量
            for (int j = 1; j <= sum; j++) {//从0 到所能称取的最大称取量
                if(s[i - 1][j] == 1){//如果上一层这个砝码重量可以称取那么下一层一定能称取
                    s[i][j] = 1;
                    s[i][j+a[i]] = 1;//前后砝码重量所能称取的重量
                    s[i][Math.abs(j - a[i])] = 1;
                }
            }

        }
        for (int i = 1; i <= sum; i++) {
            ans += s[n - 1][i];
        }
        System.out.println(ans);
    }
}
